/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: wangxin
 * Date: 2024-10-11
 * Time: 10:36
 */
public class test {
//    public class Person {
//        private String name;
//        private String gender;
//        int age;
//        // 想要让该类支持深拷贝，覆写Object类的clone方法即可
//        @Override
//        public Person clone() {
//            return (Person)super.clone();
//        }
//    }

//    public static void main(String[] args) {
//        boolean ret = false;
//        ret = func1();
//        if(!ret){
//            System.out.println("func1方法出错！");
//        }
//        ret = func2();
//        if(!ret){
//            System.out.println("func2方法出错！");
//        }
//        ret = func3();
//        if(!ret){
//            System.out.println("func3方法出错！");
//        }
//        ret = func4();
//        if(!ret){
//            System.out.println("func4方法出错！");
//        }
//    }

    //    public static void main(String[] args) {
//        try{
//            func1();
//
//        }catch (Exception e){
//            System.out.println("func1方法异常");
//        }
//    }
//    private static boolean func1() {
//        return true;
//    }private static boolean func2() {
//        return true;
//    }private static boolean func3() {
//        return true;
//    }private static boolean func4() {
//        return true;
//    }
//    public static int getElement(int[] array, int index) {
//        if (null == array) {
//            throw new NullPointerException("传递的数组为null");
//        }
//        if(index < 0 || index >= array.length){
//            throw new ArrayIndexOutOfBoundsException("传递的数组下标越界");
//        }
//        return array[index];
//    }
//    public static void main(String[] args) {
//        int[] array = {1,2,3};
//        getElement(array, 3);
//    }
//    public static void func(int[] a) throws Exception {
//        if(a==null){
//            throw new Exception("传个参数看看....."+a);
//        }
//    }
//    public static void main(String[] args) throws Exception {
//        int[] a = null;
//       func(a);
//    }
//    public static void func(int[] a) throws Exception {
//        if(a==null){
//            throw new Exception("传个参数看看....."+a);
//        }
//    }
//    public static void main(String[] args) throws Exception {
//        int[] a = null;
//        try {
//            func(a);
//        }catch (Exception e){
//            System.out.println("捕获到了Exception异常" + "异常正在处理...");
//        }
//        System.out.println("异常处理完成，程序继续执行...");
//    }
//
//    public static void main(String[] args) {
//        try {
//            int[] array = {1,2,3};
//            System.out.println(array[3]); // 此处会抛出数组越界异常
//        }catch (NullPointerException e){ // 捕获时候捕获的是空指针异常--真正的异常无法被捕获到
//            e.printStackTrace();
//        }
//        System.out.println("后序代码");
//    }
//    public static void main(String[] args) {
//        int[] arr = {1, 2, 3};
//        try {
//            System.out.println("before");
//// arr = null;
//            System.out.println(arr[100]);
//            System.out.println("after");
//        } catch (ArrayIndexOutOfBoundsException e) {
//            System.out.println("这是个数组下标越界异常");
//            e.printStackTrace();
//        } catch (NullPointerException e) {
//            System.out.println("这是个空指针异常");
//            e.printStackTrace();
//        }
//        System.out.println("after try catch");
//    }
//    public static void main(String[] args) {
//        int[] arr = {1, 2, 3};
//        try {
//            System.out.println("before");
//            arr = null;
//            System.out.println(arr[100]);
//            System.out.println("after");
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//        System.out.println("after try catch");
//    }
//    public static void main(String[] args) {
//        try{
//            int[] arr = {1,2,3};
//            arr[100] = 10;
//            arr[0] = 10;
//        }catch (ArrayIndexOutOfBoundsException e){
//            System.out.println(e);
//        }finally {
//            System.out.println("finally中的代码一定会执行");
//        }
//        System.out.println("如果没有抛出异常，或者异常被处理了，try-catch后的代码也会执行");
//    }
//    public static void main(String[] args) {
//        try {
//            func();
//        } catch (ArrayIndexOutOfBoundsException e) {
//            e.printStackTrace();
//        }
//        System.out.println("after try catch");
//    }
//    public static void func() {
//        int[] arr = {1, 2, 3};
//        System.out.println(arr[100]);
//    }
//    public static void main(String[] args) {
//        func();
//        System.out.println("after try catch");
//    }
//    public static void func() {
//        int[] arr = {1, 2, 3};
//        System.out.println(arr[100]);
//    }




        }
class LogIn {
    private static String userName = "admin";
    private static String password = "13456";
    public static void loginInfo(String Name, String code)
            throws UserNameException,PasswordException{
        if (!Name.equals(userName)) {
            throw new UserNameException("用户名错误！");
        }
        if (!password.equals(code)) {
            throw new PasswordException("用户名错误！");
        }
        System.out.println("登陆成功");
    }
    public static void main(String[] args) {
        try {
            loginInfo("admin", "12356");
        } catch (UserNameException e) {
            e.printStackTrace();
        } catch (PasswordException e) {
            e.printStackTrace();
        }
    }
}
class UserNameException extends Exception {
    public UserNameException(String message) {
        super(message);
    }
}
class PasswordException extends Exception {
    public PasswordException(String message) {
        super(message);
    }
}